// 获取所有学员成绩 封装函数
function getScore() {
    axios.get('/score/list').then(({ data: res, code }) => {
        // console.log(res.data);
        if (res.code === 0) {
            // 遍历数组
            for (let key in res.data) {
                // 创建tr结构并添加自定义属性记录学号
                let tr = $(`<tr>
               <th scope="row">${key}</th>
               <td>${res.data[key].name}</td>
               <td data-id="${key}" class="score">${res.data[key].score[0]}</td>
               <td data-id="${key}" class="score">${res.data[key].score[1]}</td>
               <td data-id="${key}" class="score">${res.data[key].score[2]}</td>
               <td data-id="${key}" class="score">${res.data[key].score[3]}</td>
               <td data-id="${key}" class="score">${res.data[key].score[4]}</td>
             </tr>`)

                // 插入到tbody里
                $('tbody').append(tr)
            }
        }
    })
}
getScore();

// 点击修改功能 事件委托
$('tbody').on('click', '.score', function () {
    let td = $(this);
    // 获取单元格的值
    let tdVal = td.text();
    // 判断这个td有没有子元素,有就说明已经有input了 ,无需继续添加
    if (td.children().length > 0) return;
    // 清空td
    td.html('')
    // 创建input
    let input = $(`<input/>`);
    input.css({
        border: 'none',
        outline: 'none',
        textAlign: 'center'
    })
    // 添加到td里
    td.append(input);
    // 设置input的值
    input.val(tdVal)
    input.focus();
    // input监听回车事件
    input.on('keyup', function (e) {
        if (e.code === 'Enter') {
            // 设置参数
            let data = {
                stu_id: $(this).parent().data('id'),
                batch: $(this).parent().index() - 1,
                score: $(this).val()
            }
            // ajax请求
            axios.post('/score/entry', data).then(({ data: res }) => {
                // console.log(res);
                if (res.code === 0) {
                    // 修改后的值设置给td
                    td.text(data.score)
                    // 弹窗提醒
                    toastr.success(res.message);
                }
            })
        }
    })
    // input监听失去焦点事件
    input.on('blur', function () {
        // 原来的值设置给td
        td.text(tdVal);
    })
})



